From ab20ab569a88c230e8d6931c8f4544f115fc2a60 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Kol=C3=A5s?= Date: Mon, 25 Sep 2017 19:53:52 +0200 Subject: [PATCH] babl: limit exported symbols For now, also including symbols needed for internal tools and tests, that are not part of the public API; the API promised by babl remains the public headers, but this reduces the public dynamic loaders namespace a little. --- Makefile.am | 3 +- babl/Makefile.am | 10 +++++-- export-symbols | 68 ++++++++++++++++++++++++++++++++++++++++++ extensions/Makefile.am | 3 +- 4 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 export-symbols diff --git a/Makefile.am b/Makefile.am index e46014c..ffa9645 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,7 +23,8 @@ EXTRA_DIST = \ NEWS \ TODO \ autogen.sh \ - babl.pc.in + babl.pc.in \ + export-symbols DISTCLEANFILES = \ $(built_dist_files) \ diff --git a/babl/Makefile.am b/babl/Makefile.am index c902325..6caa929 100644 --- a/babl/Makefile.am +++ b/babl/Makefile.am @@ -91,18 +91,22 @@ AM_CPPFLAGS = \ lib_LTLIBRARIES= libbabl-@BABL_API_VERSION@.la +libbabl_@BABL_API_VERSION@_la_SOURCES= $(h_sources) $(c_sources) libbabl_@BABL_API_VERSION@_la_CFLAGS= $(SSE2_EXTRA_CFLAGS) -libbabl_@BABL_API_VERSION@_la_SOURCES= $(h_sources) $(c_sources) libbabl_@BABL_API_VERSION@_la_LIBADD= \ base/libbase.la \ @LTLIBOBJS@ +libbabl_la_LDFLAGS= \ + $(MATH_LIB) $(THREAD_LIB) $(LOG_LIB) + libbabl_@BABL_API_VERSION@_la_LDFLAGS= \ - ${no_undefined} $(MATH_LIB) $(THREAD_LIB) $(LOG_LIB) \ + $(MATH_LIB) $(THREAD_LIB) $(LOG_LIB) \ + -export-symbols $(top_srcdir)/export-symbols \ -version-info $(BABL_LIBRARY_VERSION) -EXTRA_DIST = babl-ref-pixels.inc +EXTRA_DIST = babl-ref-pixels.inc # If git is available, always check if git-version.h should be diff --git a/export-symbols b/export-symbols new file mode 100644 index 0000000..a0b28c4 --- /dev/null +++ b/export-symbols @@ -0,0 +1,68 @@ +babl_component +babl_component_new +babl_conversion_get_destination_space +babl_conversion_get_source_space +babl_conversion_new +babl_cpu_accel_get_support +babl_exit +babl_fast_fish +babl_fish +babl_format +babl_format_get_bytes_per_pixel +babl_format_get_model +babl_format_get_n_components +babl_format_get_space +babl_format_get_type +babl_format_has_alpha +babl_format_is_format_n +babl_format_is_palette +babl_format_n +babl_format_new +babl_format_with_space +babl_free +babl_get_name +babl_get_name +babl_get_user_data +babl_get_version +babl_icc_get_key +babl_init +babl_introspect +babl_malloc +babl_model +babl_model_new +babl_new_palette +babl_palette_reset +babl_palette_set_palette +babl_process +babl_process +babl_sampling +babl_set_user_data +babl_space +babl_space_from_icc +babl_space_from_xyz +babl_space_get_rgbtoxyz +babl_space_to_xyz +babl_ticks +babl_type +babl_type_new +babl_space_to_icc +babl_db_exist_by_name +babl_db_find +babl_db_init +babl_db_exist_by_id +babl_db_each +babl_formats_count +babl_format_class_for_each +babl_model_class_for_each +babl_type_class_for_each +babl_conversion_class_for_each +babl_set_extender +babl_extension_quiet_log +babl_fish_path +babl_extender +babl_class_name +babl_sanity +babl_type_is_symmetric +babl_model_is_symmetric +babl_fish_db +babl_polynomial_approximate_gamma diff --git a/extensions/Makefile.am b/extensions/Makefile.am index f09ec87..ee97919 100644 --- a/extensions/Makefile.am +++ b/extensions/Makefile.am @@ -66,8 +66,7 @@ ycbcr_la_SOURCES = ycbcr.c float_la_SOURCES = float.c fast_float_la_SOURCES = fast-float.c -LIBS = $(top_builddir)/babl/libbabl-@BABL_API_VERSION@.la $(MATH_LIB) \ - $(THREAD_LIB) +LIBS = $(MATH_LIB) $(THREAD_LIB) -lbabl-0.1 sse2_float_la_CFLAGS = $(SSE2_EXTRA_CFLAGS) sse2_int8_la_CFLAGS = $(SSE2_EXTRA_CFLAGS) -- 2.30.2